//package net.seehope.foodie.controller;
//
//import java.util.HashMap;
//import java.util.Map;
//
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.data.redis.core.BoundHashOperations;
//import org.springframework.data.redis.core.RedisTemplate;
//import org.springframework.web.bind.annotation.RequestBody;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.ResponseBody;
//import org.springframework.web.bind.annotation.RestController;
//
//import com.fasterxml.jackson.core.JsonProcessingException;
//import com.fasterxml.jackson.databind.JsonMappingException;
//import com.fasterxml.jackson.databind.ObjectMapper;
//
//import io.swagger.annotations.Api;
//import io.swagger.annotations.ApiOperation;
//import io.swagger.annotations.ApiParam;
//import net.seehope.foodie.common.JsonResult;
//import net.seehope.foodie.pojo.User;
//
//@Api(tags="redis测试类，用来存取基本数据")
//@RestController
//@RequestMapping("/redis")
//public class RedisController {
//	
//	//相当于jdbcTemplate,String是key，另一个是你当前操作的对象,可以统一填Object
//	@Autowired
//	private RedisTemplate<String, String> redisTemplate;
//	
//	
//	//工具，springboot提供的工具，可用于对象转json(写json:writeValueAsString())。 读json:readValue()
//	//json转对象，对象转json。操作String是最方便的
//	
//	
//	//容器里已经有了，需要使用的时候直接Autowired
//	@Autowired
//	private ObjectMapper objectMapper;
//	
//	
//	
//	/*
//	 *    @RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的)；GET方式无请求体，
//	 *  所以使用@RequestBody接收数据时，前端不能使用GET方式提交数据，而是用POST方式进行提交。
//	 *  在后端的同一个接收方法里，@RequestBody与@RequestParam()可以同时使用，@RequestBody最多只能有一个，而@RequestParam()可以有多个。
//
//	 */
//	
//	
//	//从前端接收一个json形式的user过来
//	@ApiOperation("向redis中添加一个用户")
//	@RequestMapping("/set")
//	public void setUser(@ApiParam("用户数据模型")@RequestBody User user) throws JsonProcessingException {
//		//注意是简单名
////		BoundHashOperations<String,String,Object> boundHashOps = redisTemplate.boundHashOps(user.getClass().getSimpleName());
////		boundHashOps.put("id", user.getId());
////		boundHashOps.put("username", user.getUsername());
//		//redisTemplate.boundValueOps(user.getClass().getSimpleName()).set(objectMapper.writeValueAsString(user));
//		
//		//pojo的名字+:+user.getId()
//		//redisTemplate.boundValueOps(user.getClass().getName()+":"+user.getId()).set(objectMapper.writeValueAsString(user));
//		
//		
//		Map<String,Object> map = new HashMap();
//		map.put("id", user.getId().toString());
//		map.put("username", user.getUsername());
//		map.put("address",user.getAddress());
//		
//		redisTemplate.boundHashOps(user.getClass().getSimpleName()+":"+user.getId()).putAll(map);
//		
//	}
//	
//	@ResponseBody
//	@RequestMapping("/get")
//	public JsonResult getUser() throws JsonMappingException, JsonProcessingException {
//		Map<Object, Object> map = redisTemplate.boundHashOps("User:2").entries();
//		User user = new User();
//		user.setId(Integer.parseInt((String)map.get("id")));
//		user.setAddress((String)map.get("address"));
//		user.setUsername((String)map.get("username"));
//		
//		return JsonResult.isOk(user);
//	}
//	
//}
